// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design internal header
// See Vnutshellcache.h for the primary calling header

#ifndef VERILATED_VNUTSHELLCACHE_CACHESTAGE3_H_
#define VERILATED_VNUTSHELLCACHE_CACHESTAGE3_H_  // guard

#include "verilated.h"
#include "verilated_cov.h"
class Vnutshellcache_Arbiter;
class Vnutshellcache_Arbiter_1;


class Vnutshellcache__Syms;

class alignas(VL_CACHE_LINE_BYTES) Vnutshellcache_CacheStage3 final : public VerilatedModule {
  public:
    // CELLS
    Vnutshellcache_Arbiter* __PVT__metaWriteArb;
    Vnutshellcache_Arbiter_1* __PVT__dataWriteArb;

    // DESIGN SPECIFIC STATE
    // Anonymous structures to workaround compiler member-count bugs
    struct {
        VL_IN8(__PVT__clock,0,0);
        VL_IN8(__PVT__reset,0,0);
        VL_OUT8(__PVT__io_in_ready,0,0);
        VL_IN8(__PVT__io_in_valid,0,0);
        VL_IN8(__PVT__io_in_bits_req_size,2,0);
        VL_IN8(__PVT__io_in_bits_req_cmd,3,0);
        VL_IN8(__PVT__io_in_bits_req_wmask,7,0);
        VL_IN8(__PVT__io_in_bits_metas_0_dirty,0,0);
        VL_IN8(__PVT__io_in_bits_metas_1_dirty,0,0);
        VL_IN8(__PVT__io_in_bits_metas_2_dirty,0,0);
        VL_IN8(__PVT__io_in_bits_metas_3_dirty,0,0);
        VL_IN8(__PVT__io_in_bits_hit,0,0);
        VL_IN8(__PVT__io_in_bits_waymask,3,0);
        VL_IN8(__PVT__io_in_bits_mmio,0,0);
        VL_IN8(__PVT__io_in_bits_isForwardData,0,0);
        VL_IN8(__PVT__io_in_bits_forwardData_waymask,3,0);
        VL_IN8(__PVT__io_out_ready,0,0);
        VL_OUT8(__PVT__io_out_valid,0,0);
        VL_OUT8(__PVT__io_out_bits_cmd,3,0);
        VL_OUT8(__PVT__io_isFinish,0,0);
        VL_IN8(__PVT__io_flush,0,0);
        VL_IN8(__PVT__io_dataReadBus_req_ready,0,0);
        VL_OUT8(__PVT__io_dataReadBus_req_valid,0,0);
        VL_OUT8(__PVT__io_dataWriteBus_req_valid,0,0);
        VL_OUT8(__PVT__io_dataWriteBus_req_bits_waymask,3,0);
        VL_OUT8(__PVT__io_metaWriteBus_req_valid,0,0);
        VL_OUT8(__PVT__io_metaWriteBus_req_bits_setIdx,6,0);
        VL_OUT8(__PVT__io_metaWriteBus_req_bits_data_dirty,0,0);
        VL_OUT8(__PVT__io_metaWriteBus_req_bits_waymask,3,0);
        VL_IN8(__PVT__io_mem_req_ready,0,0);
        VL_OUT8(__PVT__io_mem_req_valid,0,0);
        VL_OUT8(__PVT__io_mem_req_bits_cmd,3,0);
        VL_OUT8(__PVT__io_mem_resp_ready,0,0);
        VL_IN8(__PVT__io_mem_resp_valid,0,0);
        VL_IN8(__PVT__io_mem_resp_bits_cmd,3,0);
        VL_IN8(__PVT__io_mmio_req_ready,0,0);
        VL_OUT8(__PVT__io_mmio_req_valid,0,0);
        VL_OUT8(__PVT__io_mmio_req_bits_size,2,0);
        VL_OUT8(__PVT__io_mmio_req_bits_cmd,3,0);
        VL_OUT8(__PVT__io_mmio_req_bits_wmask,7,0);
        VL_OUT8(__PVT__io_mmio_resp_ready,0,0);
        VL_IN8(__PVT__io_mmio_resp_valid,0,0);
        VL_IN8(__PVT__io_cohResp_ready,0,0);
        VL_OUT8(__PVT__io_cohResp_valid,0,0);
        VL_OUT8(__PVT__io_cohResp_bits_cmd,3,0);
        VL_OUT8(__PVT__io_dataReadRespToL1,0,0);
        CData/*0:0*/ __PVT__metaWriteArb_io_in_0_valid;
        CData/*6:0*/ __PVT__metaWriteArb_io_in_0_bits_setIdx;
        CData/*3:0*/ __PVT__metaWriteArb_io_in_0_bits_waymask;
        CData/*0:0*/ __PVT__metaWriteArb_io_in_1_valid;
        CData/*6:0*/ __PVT__metaWriteArb_io_in_1_bits_setIdx;
        CData/*0:0*/ __PVT__metaWriteArb_io_in_1_bits_data_dirty;
        CData/*3:0*/ __PVT__metaWriteArb_io_in_1_bits_waymask;
        CData/*0:0*/ __PVT__metaWriteArb_io_out_valid;
        CData/*6:0*/ __PVT__metaWriteArb_io_out_bits_setIdx;
        CData/*0:0*/ __PVT__metaWriteArb_io_out_bits_data_dirty;
        CData/*3:0*/ __PVT__metaWriteArb_io_out_bits_waymask;
        CData/*0:0*/ __PVT__dataWriteArb_io_in_0_valid;
        CData/*3:0*/ __PVT__dataWriteArb_io_in_0_bits_waymask;
        CData/*0:0*/ __PVT__dataWriteArb_io_in_1_valid;
        CData/*3:0*/ __PVT__dataWriteArb_io_in_1_bits_waymask;
        CData/*0:0*/ __PVT__dataWriteArb_io_out_valid;
        CData/*3:0*/ __PVT__dataWriteArb_io_out_bits_waymask;
        CData/*2:0*/ __PVT__addr_wordIndex;
    };
    struct {
        CData/*6:0*/ __PVT__addr_index;
        CData/*0:0*/ __PVT__mmio;
        CData/*0:0*/ __PVT__hit;
        CData/*0:0*/ __PVT__miss;
        CData/*0:0*/ __PVT___probe_T_1;
        CData/*0:0*/ __PVT__probe;
        CData/*0:0*/ __PVT___hitReadBurst_T;
        CData/*0:0*/ __PVT__hitReadBurst;
        CData/*0:0*/ __PVT__meta_dirty;
        CData/*0:0*/ __PVT___T_3;
        CData/*0:0*/ __PVT__useForwardData;
        CData/*7:0*/ __PVT___wordMask_T_12;
        CData/*7:0*/ __PVT___wordMask_T_14;
        CData/*7:0*/ __PVT___wordMask_T_16;
        CData/*7:0*/ __PVT___wordMask_T_18;
        CData/*7:0*/ __PVT___wordMask_T_20;
        CData/*7:0*/ __PVT___wordMask_T_22;
        CData/*7:0*/ __PVT___wordMask_T_24;
        CData/*7:0*/ __PVT___wordMask_T_26;
        CData/*2:0*/ __PVT__writeL2BeatCnt_value;
        CData/*0:0*/ __PVT___T_5;
        CData/*0:0*/ __PVT___T_6;
        CData/*0:0*/ __PVT___T_7;
        CData/*0:0*/ __PVT___T_8;
        CData/*2:0*/ __PVT___value_T_1;
        CData/*2:0*/ __PVT___GEN_0;
        CData/*0:0*/ __PVT__hitWrite;
        CData/*2:0*/ __PVT___dataHitWriteBus_x3_T_3;
        CData/*0:0*/ __PVT__metaHitWriteBus_x5;
        CData/*3:0*/ __PVT__state;
        CData/*0:0*/ __PVT__needFlush;
        CData/*0:0*/ __PVT___GEN_1;
        CData/*2:0*/ __PVT__readBeatCnt_value;
        CData/*2:0*/ __PVT__writeBeatCnt_value;
        CData/*1:0*/ __PVT__state2;
        CData/*0:0*/ __PVT___T_14;
        CData/*0:0*/ __PVT___T_15;
        CData/*2:0*/ __PVT___T_20;
        CData/*0:0*/ __PVT___dataWay_T;
        CData/*0:0*/ __PVT___T_23;
        CData/*0:0*/ __PVT___T_26;
        CData/*0:0*/ __PVT___T_27;
        CData/*0:0*/ __PVT___T_29;
        CData/*1:0*/ __PVT___GEN_8;
        CData/*0:0*/ __PVT___cmd_T;
        CData/*2:0*/ __PVT___cmd_T_2;
        CData/*2:0*/ __PVT__cmd;
        CData/*0:0*/ __PVT___io_mem_req_valid_T_2;
        CData/*0:0*/ __PVT__afterFirstRead;
        CData/*0:0*/ __PVT__alreadyOutFire;
        CData/*0:0*/ __PVT___GEN_12;
        CData/*0:0*/ __PVT___readingFirst_T_1;
        CData/*0:0*/ __PVT___readingFirst_T_3;
        CData/*0:0*/ __PVT__readingFirst;
        CData/*0:0*/ __PVT___inRdataRegDemand_T_2;
        CData/*0:0*/ __PVT___io_cohResp_valid_T;
        CData/*0:0*/ __PVT___io_cohResp_valid_T_4;
        CData/*0:0*/ __PVT___releaseLast_T_2;
        CData/*2:0*/ __PVT__releaseLast_c_value;
        CData/*0:0*/ __PVT__releaseLast_wrap_wrap;
        CData/*2:0*/ __PVT___releaseLast_wrap_value_T_1;
        CData/*0:0*/ __PVT__releaseLast;
        CData/*2:0*/ __PVT___io_cohResp_bits_cmd_T_1;
        CData/*3:0*/ __PVT___io_cohResp_bits_cmd_T_2;
    };
    struct {
        CData/*0:0*/ __PVT__respToL1Fire;
        CData/*0:0*/ __PVT___respToL1Last_T_6;
        CData/*2:0*/ __PVT__respToL1Last_c_value;
        CData/*0:0*/ __PVT__respToL1Last_wrap_wrap;
        CData/*2:0*/ __PVT___respToL1Last_wrap_value_T_1;
        CData/*0:0*/ __PVT__respToL1Last;
        CData/*3:0*/ __PVT___state_T;
        CData/*2:0*/ __PVT___value_T_4;
        CData/*2:0*/ __PVT___value_T_5;
        CData/*0:0*/ __PVT___T_38;
        CData/*3:0*/ __PVT___state_T_3;
        CData/*3:0*/ __PVT___state_T_4;
        CData/*3:0*/ __PVT___GEN_20;
        CData/*0:0*/ __PVT___T_41;
        CData/*0:0*/ __PVT___T_43;
        CData/*3:0*/ __PVT___GEN_26;
        CData/*2:0*/ __PVT___value_T_7;
        CData/*2:0*/ __PVT___GEN_27;
        CData/*3:0*/ __PVT___GEN_28;
        CData/*3:0*/ __PVT___GEN_29;
        CData/*2:0*/ __PVT___GEN_30;
        CData/*2:0*/ __PVT___GEN_31;
        CData/*0:0*/ __PVT___T_57;
        CData/*3:0*/ __PVT___GEN_32;
        CData/*0:0*/ __PVT___GEN_33;
        CData/*2:0*/ __PVT___GEN_34;
        CData/*2:0*/ __PVT___GEN_35;
        CData/*3:0*/ __PVT___GEN_36;
        CData/*2:0*/ __PVT___value_T_11;
        CData/*2:0*/ __PVT___GEN_37;
        CData/*0:0*/ __PVT___T_60;
        CData/*3:0*/ __PVT___GEN_38;
        CData/*3:0*/ __PVT___GEN_39;
        CData/*3:0*/ __PVT___GEN_40;
        CData/*3:0*/ __PVT___GEN_41;
        CData/*3:0*/ __PVT___GEN_42;
        CData/*2:0*/ __PVT___GEN_43;
        CData/*3:0*/ __PVT___GEN_44;
        CData/*0:0*/ __PVT___GEN_45;
        CData/*2:0*/ __PVT___GEN_46;
        CData/*2:0*/ __PVT___GEN_47;
        CData/*3:0*/ __PVT___GEN_48;
        CData/*2:0*/ __PVT___GEN_49;
        CData/*3:0*/ __PVT___GEN_50;
        CData/*2:0*/ __PVT___GEN_51;
        CData/*0:0*/ __PVT___GEN_52;
        CData/*2:0*/ __PVT___GEN_53;
        CData/*2:0*/ __PVT___GEN_54;
        CData/*2:0*/ __PVT___GEN_55;
        CData/*3:0*/ __PVT___GEN_56;
        CData/*0:0*/ __PVT___GEN_57;
        CData/*2:0*/ __PVT___GEN_58;
        CData/*2:0*/ __PVT___GEN_59;
        CData/*0:0*/ __PVT__dataRefillWriteBus_x9;
        CData/*0:0*/ __PVT__metaRefillWriteBus_req_valid;
        CData/*0:0*/ __PVT___io_out_bits_cmd_T_4;
        CData/*2:0*/ __PVT___io_out_bits_cmd_T_6;
        CData/*2:0*/ __PVT___io_out_bits_cmd_T_7;
        CData/*0:0*/ __PVT___io_out_valid_T_4;
        CData/*0:0*/ __PVT___io_out_valid_T_23;
        CData/*0:0*/ __PVT___io_out_valid_T_25;
        CData/*0:0*/ __PVT___io_isFinish_T_4;
        CData/*0:0*/ __PVT___io_isFinish_T_13;
        CData/*0:0*/ __Vtogcov__clock;
    };
    struct {
        CData/*0:0*/ __Vtogcov__reset;
        CData/*0:0*/ __Vtogcov__io_in_ready;
        CData/*0:0*/ __Vtogcov__io_in_valid;
        CData/*2:0*/ __Vtogcov__io_in_bits_req_size;
        CData/*3:0*/ __Vtogcov__io_in_bits_req_cmd;
        CData/*7:0*/ __Vtogcov__io_in_bits_req_wmask;
        CData/*0:0*/ __Vtogcov__io_in_bits_metas_0_dirty;
        CData/*0:0*/ __Vtogcov__io_in_bits_metas_1_dirty;
        CData/*0:0*/ __Vtogcov__io_in_bits_metas_2_dirty;
        CData/*0:0*/ __Vtogcov__io_in_bits_metas_3_dirty;
        CData/*0:0*/ __Vtogcov__io_in_bits_hit;
        CData/*3:0*/ __Vtogcov__io_in_bits_waymask;
        CData/*0:0*/ __Vtogcov__io_in_bits_mmio;
        CData/*0:0*/ __Vtogcov__io_in_bits_isForwardData;
        CData/*3:0*/ __Vtogcov__io_in_bits_forwardData_waymask;
        CData/*0:0*/ __Vtogcov__io_out_ready;
        CData/*0:0*/ __Vtogcov__io_out_valid;
        CData/*3:0*/ __Vtogcov__io_out_bits_cmd;
        CData/*0:0*/ __Vtogcov__io_isFinish;
        CData/*0:0*/ __Vtogcov__io_flush;
        CData/*0:0*/ __Vtogcov__io_dataReadBus_req_ready;
        CData/*0:0*/ __Vtogcov__io_dataReadBus_req_valid;
        CData/*0:0*/ __Vtogcov__io_dataWriteBus_req_valid;
        CData/*3:0*/ __Vtogcov__io_dataWriteBus_req_bits_waymask;
        CData/*0:0*/ __Vtogcov__io_metaWriteBus_req_valid;
        CData/*6:0*/ __Vtogcov__io_metaWriteBus_req_bits_setIdx;
        CData/*0:0*/ __Vtogcov__io_metaWriteBus_req_bits_data_dirty;
        CData/*3:0*/ __Vtogcov__io_metaWriteBus_req_bits_waymask;
        CData/*0:0*/ __Vtogcov__io_mem_req_ready;
        CData/*0:0*/ __Vtogcov__io_mem_req_valid;
        CData/*3:0*/ __Vtogcov__io_mem_req_bits_cmd;
        CData/*0:0*/ __Vtogcov__io_mem_resp_ready;
        CData/*0:0*/ __Vtogcov__io_mem_resp_valid;
        CData/*3:0*/ __Vtogcov__io_mem_resp_bits_cmd;
        CData/*0:0*/ __Vtogcov__io_mmio_req_ready;
        CData/*0:0*/ __Vtogcov__io_mmio_req_valid;
        CData/*2:0*/ __Vtogcov__io_mmio_req_bits_size;
        CData/*3:0*/ __Vtogcov__io_mmio_req_bits_cmd;
        CData/*7:0*/ __Vtogcov__io_mmio_req_bits_wmask;
        CData/*0:0*/ __Vtogcov__io_mmio_resp_ready;
        CData/*0:0*/ __Vtogcov__io_mmio_resp_valid;
        CData/*0:0*/ __Vtogcov__io_cohResp_ready;
        CData/*0:0*/ __Vtogcov__io_cohResp_valid;
        CData/*3:0*/ __Vtogcov__io_cohResp_bits_cmd;
        CData/*0:0*/ __Vtogcov__io_dataReadRespToL1;
        CData/*0:0*/ __Vtogcov__metaWriteArb_io_in_0_valid;
        CData/*6:0*/ __Vtogcov__metaWriteArb_io_in_0_bits_setIdx;
        CData/*3:0*/ __Vtogcov__metaWriteArb_io_in_0_bits_waymask;
        CData/*0:0*/ __Vtogcov__metaWriteArb_io_in_1_valid;
        CData/*6:0*/ __Vtogcov__metaWriteArb_io_in_1_bits_setIdx;
        CData/*0:0*/ __Vtogcov__metaWriteArb_io_in_1_bits_data_dirty;
        CData/*3:0*/ __Vtogcov__metaWriteArb_io_in_1_bits_waymask;
        CData/*0:0*/ __Vtogcov__metaWriteArb_io_out_valid;
        CData/*6:0*/ __Vtogcov__metaWriteArb_io_out_bits_setIdx;
        CData/*0:0*/ __Vtogcov__metaWriteArb_io_out_bits_data_dirty;
        CData/*3:0*/ __Vtogcov__metaWriteArb_io_out_bits_waymask;
        CData/*0:0*/ __Vtogcov__dataWriteArb_io_in_0_valid;
        CData/*3:0*/ __Vtogcov__dataWriteArb_io_in_0_bits_waymask;
        CData/*0:0*/ __Vtogcov__dataWriteArb_io_in_1_valid;
        CData/*3:0*/ __Vtogcov__dataWriteArb_io_in_1_bits_waymask;
        CData/*0:0*/ __Vtogcov__dataWriteArb_io_out_valid;
        CData/*3:0*/ __Vtogcov__dataWriteArb_io_out_bits_waymask;
        CData/*2:0*/ __Vtogcov__addr_wordIndex;
        CData/*6:0*/ __Vtogcov__addr_index;
    };
    struct {
        CData/*0:0*/ __Vtogcov__mmio;
        CData/*0:0*/ __Vtogcov__hit;
        CData/*0:0*/ __Vtogcov__miss;
        CData/*0:0*/ __Vtogcov__probe;
        CData/*0:0*/ __Vtogcov__hitReadBurst;
        CData/*0:0*/ __Vtogcov__meta_dirty;
        CData/*0:0*/ __Vtogcov__useForwardData;
        CData/*2:0*/ __Vtogcov__writeL2BeatCnt_value;
        CData/*0:0*/ __Vtogcov__hitWrite;
        CData/*0:0*/ __Vtogcov__metaHitWriteBus_x5;
        CData/*3:0*/ __Vtogcov__state;
        CData/*0:0*/ __Vtogcov__needFlush;
        CData/*2:0*/ __Vtogcov__readBeatCnt_value;
        CData/*2:0*/ __Vtogcov__writeBeatCnt_value;
        CData/*1:0*/ __Vtogcov__state2;
        CData/*2:0*/ __Vtogcov__cmd;
        CData/*0:0*/ __Vtogcov__afterFirstRead;
        CData/*0:0*/ __Vtogcov__alreadyOutFire;
        CData/*0:0*/ __Vtogcov__readingFirst;
        CData/*2:0*/ __Vtogcov__releaseLast_c_value;
        CData/*0:0*/ __Vtogcov__releaseLast_wrap_wrap;
        CData/*0:0*/ __Vtogcov__releaseLast;
        CData/*0:0*/ __Vtogcov__respToL1Fire;
        CData/*2:0*/ __Vtogcov__respToL1Last_c_value;
        CData/*0:0*/ __Vtogcov__respToL1Last_wrap_wrap;
        CData/*0:0*/ __Vtogcov__respToL1Last;
        CData/*0:0*/ __Vtogcov__dataRefillWriteBus_x9;
        CData/*0:0*/ __Vtogcov__metaRefillWriteBus_req_valid;
        CData/*2:0*/ __Vdly__writeL2BeatCnt_value;
        CData/*3:0*/ __Vdly__state;
        CData/*0:0*/ __Vdly__needFlush;
        CData/*2:0*/ __Vdly__readBeatCnt_value;
        CData/*2:0*/ __Vdly__writeBeatCnt_value;
        CData/*1:0*/ __Vdly__state2;
        CData/*0:0*/ __Vdly__afterFirstRead;
        CData/*0:0*/ __Vdly__alreadyOutFire;
        CData/*2:0*/ __Vdly__releaseLast_c_value;
        CData/*2:0*/ __Vdly__respToL1Last_c_value;
        VL_IN16(__PVT__io_in_bits_req_user,15,0);
        VL_OUT16(__PVT__io_out_bits_user,15,0);
        VL_OUT16(__PVT__io_dataReadBus_req_bits_setIdx,9,0);
        VL_OUT16(__PVT__io_dataWriteBus_req_bits_setIdx,9,0);
        SData/*9:0*/ __PVT__dataWriteArb_io_in_0_bits_setIdx;
        SData/*9:0*/ __PVT__dataWriteArb_io_in_1_bits_setIdx;
        SData/*9:0*/ __PVT__dataWriteArb_io_out_bits_setIdx;
        SData/*15:0*/ __Vtogcov__io_in_bits_req_user;
        SData/*15:0*/ __Vtogcov__io_out_bits_user;
        SData/*9:0*/ __Vtogcov__io_dataReadBus_req_bits_setIdx;
        SData/*9:0*/ __Vtogcov__io_dataWriteBus_req_bits_setIdx;
        SData/*9:0*/ __Vtogcov__dataWriteArb_io_in_0_bits_setIdx;
        SData/*9:0*/ __Vtogcov__dataWriteArb_io_in_1_bits_setIdx;
        SData/*9:0*/ __Vtogcov__dataWriteArb_io_out_bits_setIdx;
        VL_IN(__PVT__io_in_bits_req_addr,31,0);
        VL_IN(__PVT__io_in_bits_metas_0_tag,18,0);
        VL_IN(__PVT__io_in_bits_metas_1_tag,18,0);
        VL_IN(__PVT__io_in_bits_metas_2_tag,18,0);
        VL_IN(__PVT__io_in_bits_metas_3_tag,18,0);
        VL_OUT(__PVT__io_metaWriteBus_req_bits_data_tag,18,0);
        VL_OUT(__PVT__io_mem_req_bits_addr,31,0);
        VL_OUT(__PVT__io_mmio_req_bits_addr,31,0);
        IData/*18:0*/ __PVT__metaWriteArb_io_in_0_bits_data_tag;
        IData/*18:0*/ __PVT__metaWriteArb_io_in_1_bits_data_tag;
        IData/*18:0*/ __PVT__metaWriteArb_io_out_bits_data_tag;
        IData/*18:0*/ __PVT___meta_T_18;
    };
    struct {
        IData/*18:0*/ __PVT___meta_T_19;
        IData/*18:0*/ __PVT___meta_T_20;
        IData/*18:0*/ __PVT___meta_T_21;
        IData/*18:0*/ __PVT___meta_T_22;
        IData/*18:0*/ __PVT___meta_T_23;
        IData/*18:0*/ __PVT__meta_tag;
        IData/*31:0*/ __PVT__raddr;
        IData/*31:0*/ __PVT__waddr;
        IData/*31:0*/ __Vtogcov__io_in_bits_req_addr;
        IData/*18:0*/ __Vtogcov__io_in_bits_metas_0_tag;
        IData/*18:0*/ __Vtogcov__io_in_bits_metas_1_tag;
        IData/*18:0*/ __Vtogcov__io_in_bits_metas_2_tag;
        IData/*18:0*/ __Vtogcov__io_in_bits_metas_3_tag;
        IData/*18:0*/ __Vtogcov__io_metaWriteBus_req_bits_data_tag;
        IData/*31:0*/ __Vtogcov__io_mem_req_bits_addr;
        IData/*31:0*/ __Vtogcov__io_mmio_req_bits_addr;
        IData/*18:0*/ __Vtogcov__metaWriteArb_io_in_0_bits_data_tag;
        IData/*18:0*/ __Vtogcov__metaWriteArb_io_in_1_bits_data_tag;
        IData/*18:0*/ __Vtogcov__metaWriteArb_io_out_bits_data_tag;
        IData/*18:0*/ __Vtogcov__meta_tag;
        IData/*31:0*/ __Vtogcov__raddr;
        IData/*31:0*/ __Vtogcov__waddr;
        VL_IN64(__PVT__io_in_bits_req_wdata,63,0);
        VL_IN64(__PVT__io_in_bits_datas_0_data,63,0);
        VL_IN64(__PVT__io_in_bits_datas_1_data,63,0);
        VL_IN64(__PVT__io_in_bits_datas_2_data,63,0);
        VL_IN64(__PVT__io_in_bits_datas_3_data,63,0);
        VL_IN64(__PVT__io_in_bits_forwardData_data_data,63,0);
        VL_OUT64(__PVT__io_out_bits_rdata,63,0);
        VL_IN64(__PVT__io_dataReadBus_resp_data_0_data,63,0);
        VL_IN64(__PVT__io_dataReadBus_resp_data_1_data,63,0);
        VL_IN64(__PVT__io_dataReadBus_resp_data_2_data,63,0);
        VL_IN64(__PVT__io_dataReadBus_resp_data_3_data,63,0);
        VL_OUT64(__PVT__io_dataWriteBus_req_bits_data_data,63,0);
        VL_OUT64(__PVT__io_mem_req_bits_wdata,63,0);
        VL_IN64(__PVT__io_mem_resp_bits_rdata,63,0);
        VL_OUT64(__PVT__io_mmio_req_bits_wdata,63,0);
        VL_IN64(__PVT__io_mmio_resp_bits_rdata,63,0);
        VL_OUT64(__PVT__io_cohResp_bits_rdata,63,0);
        QData/*63:0*/ __PVT__dataWriteArb_io_in_0_bits_data_data;
        QData/*63:0*/ __PVT__dataWriteArb_io_in_1_bits_data_data;
        QData/*63:0*/ __PVT__dataWriteArb_io_out_bits_data_data;
        QData/*63:0*/ __PVT___dataReadArray_T_4;
        QData/*63:0*/ __PVT___dataReadArray_T_5;
        QData/*63:0*/ __PVT___dataReadArray_T_6;
        QData/*63:0*/ __PVT___dataReadArray_T_7;
        QData/*63:0*/ __PVT___dataReadArray_T_8;
        QData/*63:0*/ __PVT___dataReadArray_T_9;
        QData/*63:0*/ __PVT___dataReadArray_T_10;
        QData/*63:0*/ __PVT__dataRead;
        QData/*63:0*/ __PVT___wordMask_T_27;
        QData/*63:0*/ __PVT__wordMask;
        QData/*63:0*/ __PVT___dataHitWriteBus_x1_T;
        QData/*63:0*/ __PVT___dataHitWriteBus_x1_T_1;
        QData/*63:0*/ __PVT___dataHitWriteBus_x1_T_2;
        QData/*63:0*/ __PVT__dataWay_0_data;
        QData/*63:0*/ __PVT__dataWay_1_data;
        QData/*63:0*/ __PVT__dataWay_2_data;
        QData/*63:0*/ __PVT__dataWay_3_data;
        QData/*63:0*/ __PVT___dataHitWay_T_4;
        QData/*63:0*/ __PVT___dataHitWay_T_5;
        QData/*63:0*/ __PVT___dataHitWay_T_6;
        QData/*63:0*/ __PVT___dataHitWay_T_7;
        QData/*63:0*/ __PVT___dataHitWay_T_8;
    };
    struct {
        QData/*63:0*/ __PVT___dataHitWay_T_9;
        QData/*63:0*/ __PVT__inRdataRegDemand;
        QData/*63:0*/ __PVT___dataRefill_T;
        QData/*63:0*/ __PVT___dataRefill_T_1;
        QData/*63:0*/ __PVT___dataRefill_T_2;
        QData/*63:0*/ __PVT___dataRefill_T_3;
        QData/*63:0*/ __Vtogcov__io_in_bits_req_wdata;
        QData/*63:0*/ __Vtogcov__io_in_bits_datas_0_data;
        QData/*63:0*/ __Vtogcov__io_in_bits_datas_1_data;
        QData/*63:0*/ __Vtogcov__io_in_bits_datas_2_data;
        QData/*63:0*/ __Vtogcov__io_in_bits_datas_3_data;
        QData/*63:0*/ __Vtogcov__io_in_bits_forwardData_data_data;
        QData/*63:0*/ __Vtogcov__io_out_bits_rdata;
        QData/*63:0*/ __Vtogcov__io_dataReadBus_resp_data_0_data;
        QData/*63:0*/ __Vtogcov__io_dataReadBus_resp_data_1_data;
        QData/*63:0*/ __Vtogcov__io_dataReadBus_resp_data_2_data;
        QData/*63:0*/ __Vtogcov__io_dataReadBus_resp_data_3_data;
        QData/*63:0*/ __Vtogcov__io_dataWriteBus_req_bits_data_data;
        QData/*63:0*/ __Vtogcov__io_mem_req_bits_wdata;
        QData/*63:0*/ __Vtogcov__io_mem_resp_bits_rdata;
        QData/*63:0*/ __Vtogcov__io_mmio_req_bits_wdata;
        QData/*63:0*/ __Vtogcov__io_mmio_resp_bits_rdata;
        QData/*63:0*/ __Vtogcov__io_cohResp_bits_rdata;
        QData/*63:0*/ __Vtogcov__dataWriteArb_io_in_0_bits_data_data;
        QData/*63:0*/ __Vtogcov__dataWriteArb_io_in_1_bits_data_data;
        QData/*63:0*/ __Vtogcov__dataWriteArb_io_out_bits_data_data;
        QData/*63:0*/ __Vtogcov__dataRead;
        QData/*63:0*/ __Vtogcov__wordMask;
        QData/*63:0*/ __Vtogcov__dataWay_0_data;
        QData/*63:0*/ __Vtogcov__dataWay_1_data;
        QData/*63:0*/ __Vtogcov__dataWay_2_data;
        QData/*63:0*/ __Vtogcov__dataWay_3_data;
        QData/*63:0*/ __Vtogcov__inRdataRegDemand;
        QData/*63:0*/ __Vdly__dataWay_0_data;
        QData/*63:0*/ __Vdly__dataWay_1_data;
        QData/*63:0*/ __Vdly__dataWay_2_data;
        QData/*63:0*/ __Vdly__dataWay_3_data;
        QData/*63:0*/ __Vdly__inRdataRegDemand;
    };

    // INTERNAL VARIABLES
    Vnutshellcache__Syms* const vlSymsp;

    // CONSTRUCTORS
    Vnutshellcache_CacheStage3(Vnutshellcache__Syms* symsp, const char* v__name);
    ~Vnutshellcache_CacheStage3();
    VL_UNCOPYABLE(Vnutshellcache_CacheStage3);

    // INTERNAL METHODS
    void __Vconfigure(bool first);
    void __vlCoverInsert(std::atomic<uint32_t>* countp, bool enable, const char* filenamep, int lineno, int column,
        const char* hierp, const char* pagep, const char* commentp, const char* linescovp);
};


#endif  // guard
